E4-Veille-Docker-Baptiste-Grimaldi
Liens utiles:
1 Introduction
1.1. Contexte et problématique
Dans le cadre de mon BTS SIO option SLAM, j'ai effectué une veille sur Docker. La problématique que j'ai étudiée était "Docker, l'avenir du déploiement ?".
1.2. Objectifs de la veille
Le but d'une veille technologique en BTS SIO SLAM est de se tenir informé des dernières avancées et innovations dans le domaine de l'informatique et des technologies de l'information. Cela permet aux étudiants de rester à jour sur les nouvelles technologies et de se préparer à l'évolution constante du marché de l'emploi dans ce domaine. La veille technologique peut inclure la recherche et la lecture d'articles et de blogs, la participation à des conférences et des événements, et la surveillance des tendances et des innovations dans l'industrie.
Pour plus plus d’informations sur la veille technologique, voir le document spécialisé sur la veille.
2. Ma méthodologie de veille
2.1. Processus de veille
Mon processus de veille consiste en quatre étapes principales.
- Tout d'abord, je reçois des informations sur les sujets que je veux surveiller. Je consulte régulièrement des sources d'information pertinentes, telles que des blogs, des articles et des événements, pour rester à jour sur les dernières avancées dans mon domaine d'intérêt.
- Ensuite, je sélectionne les données les plus pertinentes pour mon projet de veille. Je trie les informations en fonction de leur pertinence, de leur fiabilité et de leur intérêt pour mon sujet de veille.
- Après avoir sélectionné les données, je les indexe pour une recherche rapide et facile. Cela me permet de trouver rapidement les informations dont j'ai besoin lorsque je travaille sur mon projet de veille.
- Enfin, je commence à écrire. Je rédige mes notes et mes idées sur les sujets que j'ai sélectionnés, en me basant sur les informations que j'ai collectées et indexées.
En résumé, mon processus de veille consiste à recevoir des informations, à les sélectionner, à les indexer et à écrire sur les sujets qui m'intéressent.
2.2. Outils utilisés pour la veille
Pour la réception
Outil | Avantages | Inconvénients |
---|---|---|
Feedly - RSS autour de docker | - Agrégateur de flux RSS très facile à utiliser. - Permet de suivre facilement les blogs et les sites d'actualités pertinents. | - Les informations dans les flux RSS peuvent être redondantes ou obsolètes. - Certaines sources peuvent être biaisées ou peu fiables. |
Twitter - Liste de suivis | - Permet de suivre facilement les dernières actualités et les discussions sur les sujets pertinents. - Permet de suivre les experts et les leaders d'opinion dans le domaine. | - Les tweets peuvent être brefs et peu informatifs. - Les discussions sur Twitter peuvent être polarisées et peu constructives. |
Script Hebdomadaire -> Résumés d'actualités avec un LLM | - Permet d'obtenir un résumé rapide et efficace des dernières actualités. - Utilise l'IA pour générer des résumés pertinents et informatifs. | - Les résumés peuvent manquer de contexte ou de détails importants. - L'IA peut parfois mal interpréter ou mal résumer les informations. |
Pour la sélection
Pour la sélection, je fais tout avec mon smartphone. Le but est d'avoir un outil que j'ai toujours sur moi pour m'aider à me tenir rapidement au courant des dernières informations sur Docker. L'appareil que j'ai constamment sur moi est mon téléphone.
Avec mon téléphone pour l'indexation des articles qui ont été réceptionnés, j'utilise :
- Les likes twitter
- Les “up” redit (on peux les visionner dans l’historique reddit)
- les marques pages feedly
Pour l’indexation
Pour l’indexation, j’ai commencé à utiliser Obsidian en 2021. Avec cet outil, je me suis rendu compte de la puissance du MarkDown ainsi je suis parti sur l’outil Obsidian par défaut. Il est important de noter que j’utilise maintenant Notion, qui, pour moi est une version améliorer d’Obsidian pour mon utilisation. Je souligne, pour mon utilisation car ces deux outils ont des buts et un publique différent.
L'une des principales forces d'Obsidian est sa puissance de personnalisation. Il permet à l'utilisateur de personnaliser l'interface utilisateur, d'ajouter des plugins pour étendre les fonctionnalités du logiciel, et de personnaliser la façon dont les notes sont organisées.
De plus, Obsidian offre une grande flexibilité dans la façon dont les notes peuvent être liées les unes aux autres. Les utilisateurs peuvent créer des liens entre les notes, les organiser en arborescence ou utiliser des cartes mentales pour visualiser les relations entre les concepts.
Voici une comparaison entre notion et Obsidian:
Fonctionnalité | Notion | Obsidian |
Édition collaborative | ✔️ | ❌ |
Interface utilisateur | ✔️ | ❌ |
Gestion des tâches | ✔️ | ❌ |
Intégration d'autres applications | ✔️ | ❌ |
Édition de texte | ✔️ | ✔️ |
Hiérarchie des pages | ✔️ | ✔️ |
Gestion des blocs de texte | ✔️ | ❌ |
Markdown | ✔️ | ✔️ |
Édition hors ligne | ❌ | ✔️ |
Personnalisation de l'interface | ❌ | ✔️ |
Plugins communautaires | ❌ | ✔️ |
API | ✔️ | |
Prix | ✔️ | ❌ |
2.3. Sources d'information consultées
3. Mon sujet de veille : Docker, l'avenir du déploiement ?
3.1. Introduction
Quand il s'agit de déployer un service, on a souvent plusieurs options connues depuis très longtemps. On peut installer le service sur une machine, mais si on veut y installer un service en plus, cela devient vite chaotique. De plus, cela peut poser de sérieux problèmes de sécurité. Pour remédier à ces problématiques, on utilise la virtualisation. Mais un problème persiste : pour chaque service, il faut déployer un environnement virtuel (ce qui peut prendre du temps) avec toute sa virtualisation de BIOS, de couche hardware, de drivers, etc. Et cela pour chacun des services. Pas très optimisé, n'est-ce pas ? Pour répondre à cela, il existe depuis longtemps les container avec LXC.
Docker apporte plusieurs avantages par rapport aux conteneurs classiques de LXC:
- Portabilité: les images de conteneurs Docker sont portables et peuvent être déployées sur différentes plateformes sans avoir à se soucier des dépendances ou de la configuration de l'hôte.
- Sécurité: Docker utilise des espaces de noms de kernel Linux pour isoler les processus et les ressources, ce qui permet une isolation efficace et une sécurité améliorée.
- Gestion des ressources: Docker permet une gestion fine des ressources, ce qui permet de garantir une utilisation efficace des ressources informatiques.
- Facilité d'utilisation: Docker est facile à utiliser et permet de créer, déployer et gérer des conteneurs rapidement et efficacement.
- Écosystème riche: Docker dispose d'un écosystème riche, avec de nombreuses images pré-construites disponibles sur Docker Hub, ainsi que de nombreux outils et frameworks qui facilitent le développement et le déploiement d'applications.
- Flexibilité: Docker est flexible et peut être utilisé dans une grande variété de cas d'utilisation, ce qui en fait un choix populaire pour les entreprises de toutes tailles.
- Gestion des réseaux: Docker permet une gestion facile et flexible des réseaux pour les conteneurs, permettant une communication sécurisée et optimisée entre les différents conteneurs.
3.2. Historique de Docker
Docker est une entreprise américaine spécialisée dans la création de conteneurs. Elle a été créée en 2010 par Solomon Hykes et est basée à San Francisco, en Californie. Depuis sa création, Docker a connu une croissance rapide et est devenue un acteur majeur dans le domaine de la virtualisation et du déploiement d'applications.
Le principal objectif de Docker est de simplifier le processus de développement, de déploiement et de gestion des applications. Pour ce faire, elle utilise des conteneurs, qui permettent d'emballer une application et toutes ses dépendances dans un package portable et autonome. Les conteneurs sont légers et rapides à démarrer, ce qui permet une utilisation efficace des ressources informatiques.
Docker est devenu très populaire auprès des développeurs et des entreprises, car il permet de simplifier considérablement le processus de développement et de déploiement d'applications. Il est également très flexible et peut être utilisé dans une grande variété de cas d'utilisation, ce qui en fait un choix populaire pour les entreprises de toutes tailles.
Docker Hub est également un outil important pour la communauté Docker car il permet aux développeurs de partager leurs images de conteneurs avec d'autres membres de la communauté. Cela permet une collaboration et un partage de connaissances plus efficaces, ce qui peut aider à accélérer l'adoption de Docker et à stimuler l'innovation dans le domaine des conteneurs.
3.3. Problématique que Docker a rencontrée pendant son développement
L'une des problématiques que Docker a rencontrées pendant son développement en tant qu'entreprise était la standardisation des images de conteneurs. Au début de son existence, chaque développeur ou entreprise avait sa propre méthode pour créer et gérer des images de conteneurs, ce qui rendait difficile la portabilité des images entre différentes plates-formes. Cela a conduit à la création de normes pour les images de conteneurs, telles que le format Open Container Initiative (OCI), qui a été développé en collaboration avec d'autres acteurs de l'industrie pour créer des normes communes pour les images de conteneurs.
3.4. Avantages / inconvénients de Docker
Avantages
Inconvénients
Avantages | Description |
Portabilité | Les images de conteneurs Docker sont portables et peuvent être déployées sur différentes plateformes sans avoir à se soucier des dépendances ou de la configuration de l'hôte. |
Sécurité | Docker utilise des espaces de noms de kernel Linux pour isoler les processus et les ressources, ce qui permet une isolation efficace et une sécurité améliorée. |
Gestion des ressources | Docker permet une gestion fine des ressources, ce qui permet de garantir une utilisation efficace des ressources informatiques. |
Facilité d'utilisation | Docker est facile à utiliser et permet de créer, déployer et gérer des conteneurs rapidement et efficacement. |
Écosystème riche | Docker dispose d'un écosystème riche, avec de nombreuses images pré-construites disponibles sur Docker Hub, ainsi que de nombreux outils et frameworks qui facilitent le développement et le déploiement d'applications. |
Flexibilité | Docker est flexible et peut être utilisé dans une grande variété de cas d'utilisation, ce qui en fait un choix populaire pour les entreprises de toutes tailles. |
Gestion des réseaux | Docker permet une gestion facile et flexible des réseaux pour les conteneurs, permettant une communication sécurisée et optimisée entre les différents conteneurs. |
Inconvénients | Description |
Complexité | Docker peut être complexe à apprendre, en particulier pour les nouveaux utilisateurs. |
Système de fichiers | Les conteneurs Docker partagent le même système de fichiers que l'hôte, ce qui peut entraîner des problèmes de sécurité. |
Taille des images | Les images de conteneurs Docker peuvent être volumineuses, ce qui peut entraîner des temps de téléchargement et de déploiement plus longs. |
Maintenance | La gestion des images de conteneurs Docker peut nécessiter une maintenance régulière pour garantir leur sécurité et leur fiabilité. |
3.5. Aspects juridiques liés à Docker
Une problématique juridique importante liée à Docker concerne la propriété intellectuelle. Comme Docker permet de créer des images de conteneurs réutilisables, il est important de s'assurer que les images utilisées ne violent pas les droits de propriété intellectuelle.
Les entreprises doivent également s'assurer qu'elles ont le droit d'utiliser les images de conteneurs qu'elles déploient, en particulier si elles sont utilisées pour des applications commerciales. Il est important de bien comprendre les licences associées aux images de conteneurs pour éviter tout problème juridique potentiel.
De plus, les entreprises doivent être conscientes de la responsabilité juridique associée à l'utilisation de logiciels open source, qui peuvent être utilisés dans les images de conteneurs Docker.
3.6. L'avis des experts sur Docker
Utilisation de Docker dans les grandes entreprises
Docker est de plus en plus utilisé dans les grandes entreprises pour simplifier le processus de développement et de déploiement d'applications. Les avantages de Docker, tels que la portabilité, la sécurité et la gestion fine des ressources, en font un choix populaire pour les entreprises de toutes tailles.
Les grandes entreprises, en particulier, ont tendance à utiliser Docker pour des applications critiques, telles que les applications financières ou les applications de traitement des données. Docker permet aux entreprises de déployer rapidement et efficacement des applications, tout en garantissant une sécurité et une fiabilité accrues.
De nombreuses grandes entreprises, telles qu'ADP, GE, et PayPal, ont adopté Docker pour leurs applications, ce qui a contribué à populariser son utilisation dans l'industrie. Docker est également utilisé dans de nombreux environnements cloud, tels que AWS, Google Cloud, et Microsoft Azure, ce qui permet aux entreprises de déployer des applications dans le cloud de manière rapide et efficace.
En résumé, Docker est de plus en plus utilisé dans les grandes entreprises pour simplifier le processus de développement et de déploiement d'applications, en particulier pour les applications critiques. Les avantages de Docker, tels que la portabilité, la sécurité et la gestion fine des ressources, en font un choix populaire pour les entreprises de toutes tailles.
3.7. État actuel de Docker
Docker est actuellement un outil utilisé par tous les développeurs du monde entier. C'est devenu une norme d'utilisation pour le déploiement, que ce soit pour les tests ou la production. Depuis 5 ans, il y a un phénomène où de plus en plus d'articles émergent sur l'utilisation de Docker pour tous ses services personnels, au lieu de les installer sur sa machine en local.
Docker est certes génial, mais il reste encore très basé sur les personnes qui s'y connaissent un minimum dans le monde de la tech. Docker essaie de se diversifier avec des interfaces desktop, mais cela ne suffit pas pour le grand public. De plus en plus, des outils comme Dockstation apparaissent afin de faciliter l'utilisation de Docker.
Des outils DevOps émergent autour de cette technologie, comme Kubernetes ou Swarm.
3.8. Évolution prévue de Docker
La science a beaucoup évolué depuis 30 ans. Nous sommes passés d'un monde où, pour avoir l'air intelligent et "scientifique", il fallait avoir la documentation la plus compliquée, à un monde de plus en plus ancré dans l'accessibilité. De la même manière, la ligne de commande Docker est de plus en plus délaissée au profit d'interfaces graphiques très bien conçues.
4.Bilan de ma veille
4.1. Synthèse des résultats obtenus
Pendant ma veille sur le sujet de Docker, j'ai appris que Docker est de plus en plus utilisé dans les grandes entreprises pour simplifier le processus de développement et de déploiement d'applications, en particulier pour les applications critiques. Les avantages de Docker, tels que la portabilité, la sécurité et la gestion fine des ressources, en font un choix populaire pour les entreprises de toutes tailles.
J'ai également découvert que la standardisation des images de conteneurs était une problématique importante pour Docker, qui a conduit à la création de normes pour les images de conteneurs, telles que le format Open Container Initiative (OCI), qui a été développé en collaboration avec d'autres acteurs de l'industrie pour créer des normes communes pour les images de conteneurs.
Enfin, j'ai constaté que Docker est devenu un outil utilisé par tous les développeurs du monde entier. C'est devenu une norme d'utilisation pour le déploiement, que ce soit pour les tests ou la production. Cependant, Docker reste encore très basé sur les personnes qui s'y connaissent un minimum dans le monde de la tech et essaie de se diversifier avec des interfaces desktop. Des outils DevOps émergent autour de cette technologie, comme Kubernetes ou Swarm.
4.2. Enjeux et perspectives pour le domaine de l'informatique
L'un des enjeux majeurs de Docker dans la communauté open source est la standardisation des images de conteneurs. Comme Docker permet de créer des images de conteneurs réutilisables, il est important de s'assurer que les images utilisées ne violent pas les droits de propriété intellectuelle. Les entreprises doivent également être conscientes de la responsabilité juridique associée à l'utilisation de logiciels open source, qui peuvent être utilisés dans les images de conteneurs Docker. Il est donc crucial d'établir des normes communes.
Récemment, Docker a voulu supprimer les équipes open-source gratuites et les rendre payantes, ce qui est un problème énorme pour la communauté open-source et les entreprises qui proposent des images gratuites. Elles pourraient juste arrêter de proposer des images gratuites par dégoût et par manque d'envie de passer sur une autre plateforme. Docker a certes publié un article le 34/03/2023 indiquant qu'ils annulaient leur décision, mais le problème persiste. Les développeurs commencent à se demander ce qu'il adviendra par la suite. Si un tel événement est capable de se produire, cela montre l'instabilité d'Internet.
Malgré tout, Docker reste pour moi un outil fabuleux. Cela fait maintenant plus de 2 ans que je m'en sers et je ne lâcherai pas cet outil tout de suite. J'en ai fait ma spécialité.